<?php
/**
 * Created by PhpStorm.
 * Created at 18/05/2018 17:55.
 */

require_once __DIR__ . '/../vendor/autoload.php';

$container = new \Illuminate\Container\Container();

// 容器会在make时根据反射，获取构造方法及其形参，然后自动注入其依赖的类
// 当然所有需要自动注入的形参都必须是可被实例化的
// 容器也会自动处理嵌套依赖
dump($container->make(\App\Baz::class));

// 在make时上送构造方法中用到的参数
dump($container->make(\App\Baz::class, [
    'foo' => new \App\Foo('aFoo'),
    'bar' => new \App\Bar('aBar'),
]));

dump($container);
